1. Field of the Invention
The invention relates to a method for transmitting data packets in a communication system between a transmitter and a receiver and to a corresponding transmitter and a corresponding receiver.
2. Description of the Related Art
In communication systems such as mobile radio systems, data can be transmitted in packet form. The individual data packets are generally provided with a sequential number which corresponds to the order of their being sent, so that the receiver, at which the data packets do not necessarily arrive in the order in which they were transmitted, can put them into the original order again. For transmission between the transmitter and the receiver, it is customary to code the data packets. The coded data packets are referred to as “coding units” below.
In this context, the term “coding unit” denotes an information or redundancy set which is produced from the associated data packet and allows the data packet to be restored (decoded) at the receiver end, either individually or by suitable combination.
With packet data transmission, the receiver informs the transmitter about successful receipt of the transmitted data packets. In this context, successful receipt is also intended to be understood to mean successful decoding of the coding unit in question. The information about successful receipt is provided by “Acknowledge signals”. Corresponding “Not-Acknowledge signals” are used by the receiver to inform the transmitter that a transmission has failed, that is to say a coding unit relating to the data packet in question has either not been received at all or could not be decoded successfully in the receiver. In some systems, only positive acknowledgement of receipt (“Acknowledge signals”) is actually sent. In these systems, no explicit distinction between unreceived, unsent or incorrectly transmitted data can be provided in the acknowledgement of receipt. It is nevertheless possible to identify reception which has not occurred or has failed. By way of example, missing acknowledgement of receipt for a data unit No X when the acknowledgement of receipt for data unit No X−1 and data unit No X+1 has been received can infer failed reception (in line with an explicit negative acknowledgement of receipt, “Not-Acknowledge signals”) for data unit No X.
In error situations, special error correction methods, such as the “ARQ” (Automatic Repeat Request) method, are used to correct the error which has arisen. The receiver's Acknowledge or Not-Acknowledge signals provided with the respective sequential number for the data packets which have not been successfully received provide the transmitter with the information regarding those data packets for which it needs to retransmit coding units. In the case of the “Hybrid-ARQ type I” method (HARQI), the receiver informs the transmitter about unsuccessfully received data packets. The transmitter then retransmits the appropriate, already transmitted coding unit. In the case of the “Hybrid-ARQ type II” (HARQII) or “Hybrid-ARQ type III” method (HARQIII), the transmitter produces a plurality of different coding units for each data packet. Initially, the transmitter transmits the first coding unit to the receiver. Only if this is not successfully decoded in the receiver does the transmitter transmit the second coding unit for the same data packet when requested to do so by the receiver. Whereas the 1st coding unit comprises the unaltered or only slightly coded data, for example, the data in the later (2nd, 3rd) coding units can have a higher level of coding. In this case, the different coding units for the same data packet can be produced simultaneously, with the units which are not immediately required for transmission initially being buffer-stored in the transmitter, or being produced individually by separate coding just before they are actually transmitted.
In the receiver, the two coding units for the same data packet are used for a fresh decoding attempt. If this decoding attempt fails as well, the ARQ III method might involve a third coding unit being transmitted by the transmitter, whereupon all three coding units associated with the same data packet are used for a fresh attempt at decoding the data packet.
In the case of Hybrid-ARQ II or III, the coding units can be coding polynomials which have been subjected to a rate adaptation method. Besides combining various coding units associated with a data packet for the purpose of decoding which is to be performed, coding units which have already been sent can also be resent in order to be combined with the already sent version of the same coding unit using “maximum ratio combining”.
The receiver contains one of more memories in which the data packets decoded from the corresponding coding units are stored at least until the data packets with a relatively low sequential number have likewise been able to be decoded successfully. This is necessary so that the receiver can forward the data packets to downstream processing units in the order of their sequential numbers, that is to say in the order in which they were transmitted by the transmitter. Particularly in the case of the Hybrid-ARQ II or Hybrid-ARQ III method, it is also necessary, before a data packet is successfully decoded, for coding units for this data packet which have already been received by the receiver and with which decoding has not been possible thus far to be stored until receipt of a further coding unit for this data packet. The respective data packet's undecoded coding units received by the receiver are stored in analog form, if necessary, so that the appropriate decoding methods can be used later. By way of example, a data packet having three coding units of 1 000 bits each is transmitted. The analog resolution in the receiver is taken to be 8 bits. The necessary receiver memory for this data packet therefore needs to have a size of 24 000 bits.
At the transmitter and receiver ends, packet data transmission systems have “windows” (“transmit window” and “receiving window”) of identical size which stipulate the sequential numbers for the data packets currently needing to be transmitted at the time. The bottom border of the window points to the data packet with the lowest sequential number for which the associated coding unit has not yet been transmitted or has not yet been successfully decoded. The top border of the window, which is at a fixed distance from the bottom border, stipulates that data packet with the highest sequential number whose coding unit needs to be transmitted or received at the current time. If the data packet at the bottom end of the receiving window has been received successfully, the receiving window advances to the next highest data packet which has not been received successfully. When the corresponding “Acknowledge signal” has been received, the transmitter's transmit window also advances as appropriate.
Particularly the storage of undecoded coding units for ARQII/III is very memory-intensive, since the coding units are present not in digital form but rather in analog form.
Up to now, the memory for the decoded and undecoded data packet in the receiver has been chosen to be large enough so that, even in the worst case, all the necessary data packets and coding units in the current receiving window can be stored. To ensure this, the memory thus needs to be chosen to be of appropriate size. For a prescribed small memory, a correspondingly small transmit window has therefore had to be chosen up to now. Particularly with long system delays and channels which are subject to interference, small transmit windows have a negative effect on the maximum permissible transmission rate, however.